import type { ReactElement } from "react";
import type { RouteObject } from "react-router-dom";

export interface XMeta {
  icon?: React.ReactNode;
  title?: string | ReactElement;
}
// 定义接口为XRoute 继承 RouteObject
export interface XRoute extends RouteObject {
  // meta属性和hidden属性都是我们自定义属性,用来保存当前路由的固定信息
  // meta主要保存当前路由的标题和对应的图标，用来在侧边栏展示所有的路由列表
  // hidden :主要控制的是 当生成面包屑导航时候 当前路由是否添加在面包屑导航上
  meta?: XMeta;
  children?: XRoutes;
  hidden?: boolean;
}
//
export type XRoutes = XRoute[];
